package com.alks.function.data.dto.procurement;

import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.Date;

@Getter
@Setter
@NoArgsConstructor
@ApiModel(value="订购单")
public class PurchaseOrderDto  {
    @ApiModelProperty(value = "自增ID")
    private Integer id;

    @ApiModelProperty(value = "类别")
    private String purType;

    @ApiModelProperty(value = "指令号")
    private String lotDetail;

    @ApiModelProperty(value = "订购指令")
    private String purLot;

    @ApiModelProperty(value = "指令")
    private String lotNo;

    @ApiModelProperty(value = "材料颜色")
    private String mtlColor;

    @ApiModelProperty(value = "材料颜色英文")
    private String engColor;

    @ApiModelProperty(value = "材料名称")
    private String mtlName;

    @ApiModelProperty(value = "规格")
    private String mtlSpec;

    @ApiModelProperty(value = "单位")
    private String mtlUnit;

    @ApiModelProperty(value = "订购单号")
    private String purNo;

    @ApiModelProperty(value = "正单量")
    private Float qty;

    @ApiModelProperty(value = "预加量:可编辑")
    private Float overQty;

    @ApiModelProperty(value = "多购量:可编辑")
    private Float minusQty;

    @ApiModelProperty(value = "订购数量")
    private Float purQty;

    @ApiModelProperty(value = "厂商代码:可编辑")
    private String vendorNo;

    @ApiModelProperty(value = "厂商名字:可编辑")
    private String vendorName;

    @ApiModelProperty(value = "订购日期:可编辑")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    @DateTimeFormat("yyyy/MM/dd")
    private Date purDate;

    @ApiModelProperty(value = "需求交期:可编辑")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    @DateTimeFormat("yyyy/MM/dd")
    private Date vendorDate;

    @ApiModelProperty(value = "厂商回复交期:可编辑")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    @DateTimeFormat("yyyy/MM/dd")
    private Date inDate;

    @ApiModelProperty(value = "请购日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    @DateTimeFormat("yyyy/MM/dd")
    private Date reqDate;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    @ApiModelProperty(value = "需求日期")
    @DateTimeFormat("yyyy/MM/dd")
    private Date reqRta;

    @ApiModelProperty(value = "采购备注:可编辑")
    private String purMemo;

    @ApiModelProperty(value = "请购备注:可编辑")
    private String reqMemo;

    @ApiModelProperty(value = "物料编码")
    private String mtlNo;

    @ApiModelProperty(value = "请购单号")
    private String reqNo;

    @ApiModelProperty(value = "请购部门ID")
    private String reqDept;

    @ApiModelProperty(value = "请购部门名称")
    private String reqDeptName;

    @ApiModelProperty(value = "取消数量")
    private Float cancelQty;

    @ApiModelProperty(value = "形成订购单标识：为Y的不能再形成订购单")
    private String purFlag;

    //所有订购单，需要添加的新字段
    @ApiModelProperty(value = "送货方式")
    private String sendType;

    @ApiModelProperty(value = "采购员")
    private String sysUser;

    @ApiModelProperty(value = "分类号")
    private String typeNo;

    @ApiModelProperty(value = "分类名称")
    private String typeName;

    private String companyId;

    private String purDateString;

    private String sysDateString;

    private String inDateString;

    private String mtlColorAndName;

    private String colorChart;

    @ApiModelProperty(value = "预补")
    private BigDecimal prefill;

    @ApiModelProperty(value = "型体")
    private String style;

    @ApiModelProperty("底模号")
    private String moldNo;

    @ApiModelProperty(value = "楦头")
    private String lastNo;

    @ApiModelProperty(value = "冲刀号")
    private String cutNo;
}
